package cn.rkylin.oms.goods.dao;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import cn.rkylin.core.IDataBaseFactory;
import cn.rkylin.oms.goods.domain.SkuStock;
import cn.rkylin.oms.goods.vo.PrjSkuVO;
import cn.rkylin.oms.goods.vo.SkuStockVO;

@Repository(value = "skuStockDAO")
public class SkuStockDAOImpl implements ISkuStockDAO {

    @Autowired
    protected IDataBaseFactory dao;
    
    private String STAT_SELECT_GOODS_SKU_STORAGE = "selectByPrimaryKeySkuStock";

    /**
     * 构造函数
     */
    public SkuStockDAOImpl() {

    }
    
    @Override
    public int updateByGoodsIdSkuStock(SkuStock skuStock) throws Exception {
        return dao.update("updateByGoodsIdSkuStock",skuStock);
    }

    @Override
    public int updateByGoodsSkuIdSkuStock(SkuStock skuStock) throws Exception {
        return dao.update("updateByGoodsSkuIdSkuStock",skuStock);
    }
    
    /**
     * getGoodsSkuStorage:根据查询条件获取商品的库存数据. <br/>
     * 必须传递商品skuid，仓库id和企业id.<br/>
     *
     * @author zhanghao
     * @param skuStockVO
     * @return
     * @throws Exception
     * @since JDK 1.6
     */
    @Override
    public List<SkuStock> getGoodsSkuStorage(SkuStockVO skuStockVO) throws Exception {
        return dao.find(STAT_SELECT_GOODS_SKU_STORAGE, skuStockVO);
    }
    
    /**
     * 查询仓库商品列表
     * 
     * @param skuStockVO
     *            仓库商品VO
     * @throws Exception
     *             异常
     */
    public List<SkuStockVO> selectStockSkuList(SkuStockVO skuStockVO) throws Exception {
        return dao.findAllList("selectStockSkuList", skuStockVO);
    }

}
